I. Field of the Invention
This disclosure relates generally to systems, apparatus and methods for augmented reality (AR), and more particularly to allowing recognition of a planar target from steep angles with minimum impact on runtime.
II. Background
In augmented reality (AR) applications, most planar object detection systems compare descriptors of a picture of a planar object (e.g., taken by a user with a mobile phone camera) against a database of descriptors created offline. First, planar target (sometimes referred to as a reference target, reference image, planar image, planar target image, planar reference image, rectified image, and the like) is presented. Next, a processor detects keypoints 130 (e.g., a corner or edge feature, generally called a feature point) on the planar target. The processor then determines a descriptor around each of the keypoints 130. A descriptor may be represented as a vector (e.g., having 32, 64 or 128 dimensions) that describes a visual appearance of around a certain keypoint of the planar object. A keypoint 130 along with its descriptor may be referred to as a feature. A plurality of keypoints 130 along with its corresponding plurality of descriptors may be referred to as a plurality of features for a target image. The processor stores the features representing the planar target along with descriptors of other planar targets in a database. A mobile device can then compare descriptors found in a camera image to the database of descriptors to match or detect the planar target and thereby know which planar target is in the camera's view and from which viewpoint the planar target in the database is being observed.
Descriptors are designed to have certain attractive properties. Ideally descriptors would be fully lighting and viewpoint invariant. While lighting, scale and in-plane rotation invariances are adequately handled by modern descriptors, strong out-of-plane rotation is still an issue. What is needed is a systems, apparatus and methods in an augmented reality (AR) system that allows recognition of a planar target from steep angles with minimum impact on runtime, by comparing and matching descriptors both efficiently (e.g., using dot products) and effectively (e.g., at least partially invariant to viewpoint and lighting changes).